<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
        其他类型转换为数值类型
        字符串类型  ->   数值类型
        布尔类型  ->   数值类型
        undefined  ->   数值类型
        null  ->   数值类型

        1、显式转换 
          1.1、parseInt()    将字符串类型转换为 整数 数值类型    
                自动解析字符串类型，开头是数字他才会往下去找我们的整数数值，找到不是数字的前一位
                parInt('123a123');   //  123
                parInt('a123a123');   //  NaN
                开头不是数字，返回NaN
                当数值取整时，不会根据四舍五入+1；
          1.2、parseFloat()  将字符串转换为 浮点数 数值类型  （小数数值类型）
                自动解析字符串类型，开头是数字他才会往下去找我们的浮点数数值，找到不是数字的前一位
                parseFloat('123.0')  //  123    .0没有
          1.3、Number()      将字符串强制转换为数值类型
                他不会去解析字符串，只要字符串里包含非数字的字符，返回NaN
        2、隐式转换
            + - * / %
     -->
    <script>
        // var str = '123';
        // console.log(str,typeof str)
        // var num = 10;
        // str = parseInt(str);
        // console.log(str,typeof str)
        // var sum = str + num;
        // console.log(sum);

        // var num1 = parseInt('123');
        // console.log(num1,typeof num1);
        // var num2 = parseInt(true);
        // console.log(num2,typeof num2);   //  NaN （Not a Number）  
        // var num3 = parseInt(undefined);
        // console.log(num3,typeof num3);   //  NaN （Not a Number）  
        // var num4 = parseInt(null);
        // console.log(num4,typeof num4);   //  NaN （Not a Number）  
        // var num5 = parseInt('abc');
        // console.log(num5,typeof num5);  //  NaN （Not a Number）  
        // var num6 = parseInt('123abc');
        // console.log(num6,typeof num6);  //  NaN （Not a Number）  
        // var num7 = parseInt('123.123');
        // console.log(num7)
        // var num8 = parseInt(123.123);
        // console.log(num8)
        // var num9 = parseInt(123.923);
        // console.log(num9)

        // var num1 = parseFloat('123.123.123');
        // console.log(num1);   //  123.123
        // var num2 = parseFloat(true);
        // console.log(num2);   //  NaN
        // var num3 = parseFloat(undefined);
        // console.log(num3);   //  NaN
        // var num4 = parseFloat(null);
        // console.log(num4);   //  NaN
        // var num5 = parseFloat('123.0');
        // console.log(num5);  //  123

        // var num1 = '123';
        // console.log(Number(num1))
        // var num2 = '123.123';
        // console.log(Number(num2))
        // var num3 = '123.123.';
        // console.log(Number(num3))
        // var num4 = undefined;
        // console.log(Number(num4))

        //  隐式转换
        var num = '200';
        console.log(typeof num);
        var num1 = +num;
        console.log(num1,typeof num1)
        var num2 = num - 0;
        console.log(num2,typeof num2)
        var num3 = num * 1;
        console.log(num3,typeof num3)
        var num4 = num / 1;
        console.log(num4,typeof num4)
        


        
    </script>
</body>
</html>